package cn.edu.zafu.bigdata.x.huangxihao202211080211;

import java.util.Random;
import java.util.Scanner;

public class GuessNumberGame11 {

    // 方法：开始新一轮游戏
    private static void startNewGame(Scanner scanner) {
        Random random = new Random();
        int numberToGuess = random.nextInt(100) + 1; // 随机生成1-100之间的数字
        int maxAttempts=5; // 设置最大尝试次数
        int attempts = 0; // 记录当前尝试次数
        boolean hasWon = false; // 标志玩家是否获胜

        System.out.println("我已经想好了一个1到100之间的数字，来猜猜看吧！");

        // 开始游戏循环
        while (attempts < maxAttempts) {
            System.out.println("请输入你的猜测（第 " + (attempts + 1) + " 次, 还剩 " + (maxAttempts - attempts) + " 次机会）：");
            int guess = scanner.nextInt();
            attempts++;

            // 判断玩家的猜测
            if (guess == numberToGuess) {
                System.out.println("恭喜你，猜对了！你用了 " + attempts + " 次机会！");
                hasWon = true;
                break;
            } else if (guess < numberToGuess) {
                System.out.println("猜小了！");
            } else {
                System.out.println("猜大了！");
            }
        }

        // 如果玩家没有在指定次数内猜中
        if (!hasWon) {
            System.out.println("很遗憾，游戏结束！你没有猜中。正确答案是：" + numberToGuess);
        }
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        boolean playAgain = true;

        // 主游戏循环：可以多轮游戏
        while (playAgain) {
            startNewGame(scanner);

            // 问玩家是否想再玩一次
            System.out.println("想再来一局吗？输入'Y'开始新一轮游戏，输入其他任何键退出：");
            String response = scanner.next().toUpperCase();

            if (!response.equals("Y")) {
                playAgain = false;
                System.out.println("谢谢参与，再见！");
            }
        }

        scanner.close(); // 关闭输入流
    }
}

